let keyword = '' // 定义全局的keyword
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		commentSearchisShow: true, // 控制社区页的搜索框显示
		commentPlaceholder: '请输入想搜索的内容', // 控制社区页面搜索框的提示文字
		commentList: [], // 消息列表
		topIconIsShow: false, // 控制滚动到top的icon的显示
		modalShow: false, // 控制底部发布或者登录框的显示
		reachBottom: true,
		isShow: false
	},
	onLoad() {
		// console.log(1)
		this.showEmpty()
		this._loadCommentList() // 页面加载就获取一次消息列表
	},
	onShow () {
		// this.setData({
		// 	commentList: []
		// })
		// this._loadCommentList()
		// console.log('show')
		// wx.startPullDownRefresh()
	},
	onTabItemTap () { // 点击tabbar触发的事件
		// 进入社区页刷新一次
		const pages = getCurrentPages()
		// console.log(pages)
		const prevPage = pages[pages.length - 1]
		prevPage.onPullDownRefresh()
	},
	_loadCommentList(start = 0) { // 初始从0开始取
		wx.showLoading({
			title: '拼命加载中...',
			mask: true // 打开遮罩层
		})
		wx.cloud.callFunction({
			name: 'shop-comment',
			data: {
				keyword,
				start,
				count: 10, // 一页的总条数
				$url: 'list' // 拼接对应的router
			}
		}).then(res => {
			// console.log(res)
			this.setData({ // 下拉加载后 让前面的信息concat到新获取的身上
				commentList: this.data.commentList.concat(res.result)
			})
			// console.log(this.data.commentList)
			// 请求成功关闭loading和下拉
			this.showEmpty()
			wx.hideLoading()
			wx.stopPullDownRefresh()
		})
	},
	goToCommentDetail(event) { // 将id带入详情页
		let commentId = event.target.dataset.commentid
		wx.navigateTo({
			url: `/pages/commentdetail/commentdetail?commentId=${commentId}`
		})
	},
	toPublish () { // 判断是否登录 登录了就拿到userInfo
		if (!wx.getStorageSync('USERINFO')) {
			wx.getSetting({ // wx.getUserInfo 拿不到信息了 需要用wx.getUserProfile
				success: res => {
					if (res.authSetting["scope.userInfo"]) {
						// wx.getUserInfo({
						// 	success: res => {
						// 		console.log(res)
						// 		this.sucLogin({
						// 			detail: res.userInfo
						// 		})
						// 	}
						// })
						 wx.getUserProfile({
							 desc: '用于获取用户信息',
							 success: res => {
								 // console.log(res)
								 wx.setStorageSync('USERINFO', res)
								 this.sucLogin({
								 	detail: res.userInfo
								 })
							 }
						 })
					} else {
						this.setData({ // 没登录就打开登录框
							modalShow: true 
						})
					}
				}
			})
		} else {
			let res = wx.getStorageSync('USERINFO')
			// console.log(res)
			this.sucLogin({
				detail: res.userInfo
			})
		}
	},
	sucLogin (event) { // 已经登录 就跳转到发布页面
		// console.log(event)
		let detail = event.detail
		wx.navigateTo({
			url: `/pages/publishpage/publishpage?nickName=${detail.nickName}&avatarUrl=${detail.avatarUrl}`
		})
	},
	onSearch (e) { // 搜索事件
		// console.log(e)
		let inputKeyword = e.detail.inputKeyword
		// console.log(inputKeyword)
		if (inputKeyword) { // 判断是否输入了
			this.setData({
				commentList: [],
				reachBottom: false
			})
			keyword = inputKeyword
			this._loadCommentList(0)
			// console.log('length', this.data.commentList.length)
			keyword = ''
		} else { // 没输入就给一个提示
			var that = this
			wx.showModal({
				title: '提示',
				content: '你输入的内容为空',
				success(res) {
					if (res.confirm) {
						// console.log('用户点击确定')
						that.setData({
							commentList: []
						})
						that._loadCommentList(0)
					} else if (res.cancel) {
						// console.log('用户点击取消')
					}
				}
			})
		}
		// console.log(inputKeyword)
	},
	clearSearch () { // 清除搜索内容事件
		this.setData({
			commentList: []
		})
		keyword = ''
		// console.log(keyword)
		this._loadCommentList(0)
	},
	showEmpty () { // 显示是否为空
		let commentListLength = this.data.commentList.length
		// console.log(commentListLength)
		if (commentListLength > 0) {
			this.setData({
				isShow: true
			})
		} else {
			this.setData({
				isShow: false
			})
		}
		// console.log(this.data.isShow)
	},
	onPullDownRefresh() { // 下拉刷新
		// console.log('pull', this.data.commentList.length)
		// console.log('pull down')
		// 下拉刷新 将列表赋值为空 同时将start赋值为0
		this.setData({ // 先复制列表为空 然后在请求获取列表的事件
			commentList: [],
			reachBottom: true // 这里解决了搜索后上拉属性后不能触底刷新的问题
		})
		// console.log('pull', this.data.commentList.length)
		this._loadCommentList(0)
	},
	onReachBottom() { // 触底加载
		// console.log(1)z
		// console.log('bottom', this.data.commentList.length)
		if (this.data.reachBottom) {
			this._loadCommentList(this.data.commentList.length)
		}
		// console.log('bottom', this.data.commentList.length)
	},
	onShareAppMessage(e) { // 点击分享
		// 小程序的 app分享方法
		let nickName = e.target.dataset.comment.nickName
		// console.log(e)
		// let avatarUrl = e.target.dataset.comment.avatarUrl
		// console.log(e.target.dataset.comment)
		return {
			title: nickName, // 标题
			path: '/pages/comment/comment', // 那个页面当做 跳转的页面
			// imageUrl: avatarUrl // 分享页图片 不设置会自动截屏
		};
	},
	onPageScroll(e) { // page页面的监听滚动的事件
		// console.log(e, 1111)  
		if (e.scrollTop > 100) { // 如果滚动大于100 就显示top组件
			this.setData({
				topIconIsShow: true
			});
		} else {
			this.setData({
				topIconIsShow: false
			});
		}
	},
})
